import java.sql.*;

public class AccesoADatos {
	
	
	
	public void listarAlumnos()
	{
		
		try {
			//Cargar clase de controlador de base de datos
			
			
		Class.forName("com.mysql.jdbc.Driver");
			
			
			
			//Crear el objeto de conexion a la base de datos
					
			
			Connection conexion = DriverManager.getConnection("jdbc:mysql://localhost:3306/ejemplo","root","color");
			
			
			
			//Crear objeto Statement para realizar queries a la base de datos
			
			
			Statement instruccion = conexion.createStatement();
			
			//Un objeto ResultSet, almacena los datos de resultados de una consulta
			
			ResultSet tabla = instruccion.executeQuery("SELECT id,nombre,apellido,email from alumno");
			
			System.out.println("Codigo\tNombre\tApellido\tMail");
			while(tabla.next())
			System.out.println(tabla.getInt(1)+"\t"+tabla.getString(2)+"\t"+tabla.getString(3)+"\t"+tabla.getString(4));
			}
		    catch(ClassNotFoundException e){ System.out.println(e.getMessage()); }
			catch(SQLException e){ System.out.println(e.getMessage()); }
			catch(Exception e){ System.out.println(e.getMessage()); }
			}
	
	
	
	public void nuevoAlumno(Alumno alu)
	{
		
		 
		 String nombre= alu.getNombre();
		 String apellido= alu.getApellido();
		 String clave= alu.getClave();
		 String email= alu.getEmail();
		 int edad= alu.getEdad();
		 String calle= alu.getCalle();
		 int numero= alu.getNumero();
		 int codigo= alu.getCodigo();
		 
		 boolean b=false;
		 
		
		try {
			
			//Cargar clase de controlador de base de datos
			
			
			Class.forName("com.mysql.jdbc.Drver");
			
			
			
			//Crear el objeto de conexion a la base de datos
					
			
			Connection conexion = DriverManager.getConnection("jdbc:mysql://localhost:3306/ejemplo","root","color");
			
			
			
			//Crear objeto Statement para realizar queries a la base de datos
			
			
			Statement instruccion = conexion.createStatement();
			
ResultSet tabla= instruccion.executeQuery("SELECT COUNT(*) FROM Alumno WHERE email='"+ email + "'");
			
			while(tabla.next())
			{
				if (tabla.getInt(1)!=0)
					b=false;
				else
					b=true;
			}
			
			if (b==true)
			{
			
				System.out.println("INSERT INTO Alumno  (nombre,apellido,clave,email,edad,calle,numero,codigo) " +
						"VALUES ('" + nombre + "','" + apellido + "','" + clave + "','" + email + "'," + edad + ",'" + calle + "'," + numero + "," + codigo+")" );
				
				 instruccion.executeUpdate("INSERT INTO Alumno  (nombre,apellido,clave,email,edad,calle,numero,codigo) " +
						"VALUES ('" + nombre + "','" + apellido + "','" + clave + "','" + email + "'," + edad + ",'" + calle + "'," + numero + "," + codigo+")" );
			
			}
			
			else
			System.out.println("El email ingresado ya existe por lo que no se lo puede dar de alta nuevamente");
			
			
			
		
			}
			catch(ClassNotFoundException e){ System.out.println(e.getMessage()); }
			catch(SQLException e){ System.out.println(e.getMessage()); }
			catch(Exception e){ System.out.println(e.getMessage()); }
		
		
		
	}
	
	public void bajaAlumno(String email)
	{
		
		
		
		
		try {
			
			//Cargar clase de controlador de base de datos
			
			
			Class.forName("com.mysql.jdbc.Driver");
			
			
			
			//Crear el objeto de conexion a la base de datos
					
			
			Connection conexion = DriverManager.getConnection("jdbc:mysql://localhost:3306/ejemplo","root","color");
			
			
			
			//Crear objeto Statement para realizar queries a la base de datos
			
			
			Statement instruccion = conexion.createStatement();
			
			
			
			System.out.println("DELETE FROM Alumno where email='" + email + "'");
		
			
			 instruccion.executeUpdate("DELETE FROM Alumno where email='" + email + "'");
			
			
		
			}
			catch(ClassNotFoundException e){ System.out.println(e); }
			catch(SQLException e){ System.out.println(e); }
			catch(Exception e){ System.out.println(e); }
		
		
		
	}
	

		
	}
	
	
	


